package com.blank.task19;

import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.Scanner;


public class FileDeleteTest {
    public static void createFolds(String path){
        File file = new File(path);
        if(file.exists()){
            System.out.println("目录:"+file.getName()+"已经存在！");
        }else{
            System.out.println(file.mkdirs()?(file.getName()+"目录创建成功!"):"目录创建失败!");
        }
    }
    public static void createFiles(String path,String name){
        File file = new File(path, name);
        if(file.exists()){
            System.out.println("文件"+file.getName()+"已经存在！");
        }else{
            try {

                System.out.println(file.createNewFile()?(file.getName()+"文件创建成功!"):"文件创建失败!");
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    public static void createExample(){
        Scanner sc = new Scanner(System.in);
        boolean flag = true;
        String[] strArr = new String[10];
        int i = 0;
        while(true){
            System.out.println("请输入要创建的文件目录:");
            String str1 = sc.next();
            strArr[i] = str1;
            createFolds(str1);
            i++;
            System.out.println("请输入要创建的文件:");
            String str2 = sc.next();
            strArr[i] = str2;
            createFiles(str1,str2);
            i++;
            System.out.println("是否继续输入文件以及目录(y/n)?");
            String str3 = sc.next();
            if(i>=5 || "n".equalsIgnoreCase(str3)){
                break;
            }
        }
        System.out.print(Arrays.toString(strArr)+" ");
    }

    public static void deleteF(String path){
        File file = new File(path);
        //如果目录不存在，则返回
        if(!file.exists()){
            System.out.println("目录不存在！");
            return;
        }
        //如果目录为空，直接删除
        // 实现将目录中的所有内容打印出来
        File[] filesArr = file.listFiles();
        if (null == filesArr) {
            file.delete();
            System.out.println(file.getName() + "被删除了！");
            return;
        }
        //遍历数组
        for(File tf:filesArr){
            String name = tf.getName();
            //如果是文件,若是直接删除
            if(tf.isFile()){
                tf.delete();
                System.out.println(name+"文件已经被删除了");
            }else{
                deleteF(tf.getAbsolutePath());
            }
        }
        file.delete();
        System.out.println(file.getName()+"已经被删除了!");
    }

    public static void main(String[] args) {

        //createExample();
        // [d:/a, 1.txt, d:/a/b, 1.1.txt, d:/a/b/c, 1.1.1.txt, null, null, null, null]
        System.out.println();
        deleteF("d:/b/c");
    }
}
